package com.zsc.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zsc.dto.OrdersPageQueryDTO;
import com.zsc.dto.OrdersSubmitDTO;
import com.zsc.entity.Orders;
import com.zsc.result.PageResult;
import com.zsc.vo.OrderDetailVO;
import com.zsc.vo.OrderSubmitVO;

/**
 * @author cjr165123050
 * @description 针对表【orders(订单表)】的数据库操作Service
 * @createDate 2024-05-19 11:13:32
 */
public interface OrdersService extends IService<Orders> {

    /**
     * 管理端 订单分页查询
     *
     * @param ordersPageQueryDTO
     * @return
     */
    PageResult pageQuery(OrdersPageQueryDTO ordersPageQueryDTO);


    /**
     * 用户端 历史订单分页查询
     *
     * @param ordersPageQueryDTO
     * @return
     */
    PageResult historyOrderPageQuery(OrdersPageQueryDTO ordersPageQueryDTO);

    /**
     * 用户端 查询订单详情
     *
     * @param id
     * @return
     */
    OrderDetailVO OrderDetail(Long id);

    /**
     * 用户端 再来一单
     *
     * @param id
     */
    void repeatOrder(Long id);


    /**
     * 提交购物车生成订单
     *
     * @param ordersSubmitDTO
     * @return
     */
    OrderSubmitVO submitOrder(OrdersSubmitDTO ordersSubmitDTO);


    /**
     * 管理端 查询订单详情
     * @param id
     * @return
     */
    OrderDetailVO OrderDetails(Long id);
}
